package com.example.demo.无合同额项目回款数据;

import cn.hutool.core.io.FileUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.example.demo.bean.交易明细;
import com.example.demo.bean.结算明细;

import java.util.ArrayList;
import java.util.List;

public class Test0319 {
    public static void main(String[] args) {
        main2();
    }

    public static void main2() {

        String path="D:\\桌面\\19\\无合同额项目回款数据.xlsx";
        //通过sheet名获取
        ExcelReader reader = ExcelUtil.getReader(FileUtil.file(path), "造价合同");

        List<造价合同> list = reader.readAll(造价合同.class);
        //=================
        ExcelReader reader2 = ExcelUtil.getReader(FileUtil.file(path), "项目回款");
        List<项目回款> list2 = reader2.readAll(项目回款.class);
        formatList(list, list2);
        excelWriterBean3(list);
    }

    public static void formatList(List<造价合同> rows1,
                                  List<项目回款> rows2) {


        for (造价合同 zaojiahetong:rows1) {
            String 合同名称=zaojiahetong.get合同名称();
            String 序号="";
            String 开票未登记2="";
            String 备注="";
            for (项目回款 xiangmuhuikuan:rows2) {
                String 项目摘要=xiangmuhuikuan.get项目摘要();
                String 序号2=xiangmuhuikuan.get序号();
                String 开票金额=xiangmuhuikuan.get开票金额();
                if (项目摘要.contains(合同名称)){
                    序号=序号2;
                    开票未登记2=开票金额;
                    备注=备注+序号2+",";
                }
            }
            zaojiahetong.set序号(序号);
            zaojiahetong.set开票未登记2(开票未登记2);
            zaojiahetong.set备注(备注);
        }
    }
    public static void excelWriterBean3(List<造价合同> rows) {

        // 通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter("d:/Bean2-19.xlsx");
        // 合并单元格后的标题行，使用默认标题样式
        // writer.merge(4, "一班成绩单");
        // 一次性写出内容，使用默认样式，强制输出标题
        writer.write(rows, true);
        // 关闭writer，释放内存
        writer.close();
    }

}
